package com.lx.boot.web.config;

import com.lx.annotation.Note;
import com.lx.boot.OS;
import com.lx.boot.config.annotation.Properties;
import com.lx.util.LX;
import lombok.Getter;

@Getter
@Properties(prefix = "server.token")
public class AuthProperties {

    @Note("token默认超时时间(单位:分钟)")
    private int timeoutMinutes = 600;

//    @Note("可以重复登录!")
//    private boolean multiple;

    @Note("获取用户时自动续期")
    private boolean renewal;

    @Note("JWT的密钥")
    private String jwtKey = "JWT@441SDA231xda";

    @Note("获取不同类型的用户登录超时时间,如果为空则取默认超时时间")
    public int getTimeoutMinutesByTokenType(String tokenType){
        if (LX.isEmpty(tokenType)){
            return timeoutMinutes;
        }
        return OS.getProperty("server.token." + tokenType + ".timeoutMinutes", timeoutMinutes, Integer.class);
    }

//    @Note("获取不同类型的用户是否允许重复登录,如果为空则取默认值")
//    public boolean getMultipleByTokenType(String tokenType){
//        if (LX.isEmpty(tokenType)){
//            return multiple;
//        }
//        return OS.getProperty("server.token." + tokenType + ".multiple", multiple, Boolean.class);
//    }
}
